100
How can I prevent showing the border for selected/highlight/hot items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(255,255,255));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing);
spRibbon1->Refresh();

99
How can I change the item's background/backcolor, when the cursor hovers it (hot)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutHotBackColor(RGB(255,0,0));
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[bghot=RGB(255,0,0)]");
spRibbon1->Refresh();

98
How can I change the item's background/backcolor

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutBackColor(RGB(255,0,0));
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutBackColor(0x1000000);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[bg=RGB(255,0,0)]");
spRibbon1->Refresh();

97
How can I specify/assign the item's identifier

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutDebug(VARIANT_TRUE);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"ID 1",long(0),long(1000));
	var_Items->Add(L"ID 2",vtMissing,vtMissing)->PutID(1001);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"ID 3[id=1002]");
spRibbon1->Refresh();

96
The popup is displayed using a fade/light-up effect. Is it possible to prevent that

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutShowPopupEffect(EXRIBBONLib::exShowPopupDirect);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
		var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

95
How can I show semi-transparent popups

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupVisibility(50);
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
		var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

94
How can I change the popup's border

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
		var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

93
How can I show a horizontal separator/line between groups (method 3,EBN color)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(-128);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutBackColor(0x1000000);
				var_Item2->PutItemHeight(8);
				var_Item2->PutCaptionWidth(128);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item3->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item3->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item3->PutEditWidth(-128);
				var_Item3->PutEditValue(long(25));
spRibbon1->Refresh();

92
How can I show a horizontal separator/line between groups (method 2,solid color)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(-128);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutBackColor(RGB(128,128,128));
				var_Item2->PutItemHeight(8);
				var_Item2->PutCaptionWidth(128);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item3->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item3->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item3->PutEditWidth(-128);
				var_Item3->PutEditValue(long(25));
spRibbon1->Refresh();

91
How can I show a horizontal separator/line between groups (method 1,pattern)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(-128);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",long(2),vtMissing);
				var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item2->GetItems();
					EXRIBBONLib::IItemPtr var_Item3 = var_Items2->Add(L"",vtMissing,vtMissing);
						var_Item3->PutEnabled(VARIANT_FALSE);
						var_Item3->PutItemHeight(8);
						var_Item3->PutCaptionWidth(128);
					var_Items2->PutBackgroundExt(L"none[(0,50%-1,100%,2),pattern=0x006,patterncolor=RGB(128,128,128)]");
			EXRIBBONLib::IItemPtr var_Item4 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item4->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
				var_Item4->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item4->PutEditWidth(-128);
				var_Item4->PutEditValue(long(25));
spRibbon1->Refresh();

90
How can I show a vertical separator/line between groups (method 3,EBN color)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutItemHeight(128);
				var_Item1->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(32);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutBackColor(0x1000000);
				var_Item2->PutItemHeight(96);
				var_Item2->PutCaptionWidth(8);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item3->PutItemHeight(128);
				var_Item3->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item3->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item3->PutEditWidth(32);
				var_Item3->PutEditValue(long(25));
spRibbon1->Refresh();

89
How can I show a vertical separator/line between groups (method 2,solid color)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutItemHeight(128);
				var_Item1->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(32);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item2->PutEnabled(VARIANT_FALSE);
				var_Item2->PutBackColor(RGB(128,128,128));
				var_Item2->PutItemHeight(96);
				var_Item2->PutCaptionWidth(8);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item3->PutItemHeight(128);
				var_Item3->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item3->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item3->PutEditWidth(32);
				var_Item3->PutEditValue(long(25));
spRibbon1->Refresh();

88
How can I show a vertical separator/line between groups (method 1,pattern)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item1->PutItemHeight(128);
				var_Item1->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item1->PutEditWidth(32);
				var_Item1->PutEditValue(long(25));
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"",long(2),vtMissing);
				var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item2->GetItems();
					EXRIBBONLib::IItemPtr var_Item3 = var_Items2->Add(L"",vtMissing,vtMissing);
						var_Item3->PutEnabled(VARIANT_FALSE);
						var_Item3->PutItemHeight(96);
						var_Item3->PutCaptionWidth(8);
					var_Items2->PutBackgroundExt(L"none[(50%-1,0,2,100%),pattern=6,patterncolor=RGB(128,128,128)]");
			EXRIBBONLib::IItemPtr var_Item4 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_Item4->PutItemHeight(128);
				var_Item4->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
				var_Item4->PutEditBorder(EXRIBBONLib::exEditBorderNone);
				var_Item4->PutEditWidth(32);
				var_Item4->PutEditValue(long(25));
spRibbon1->Refresh();

87
How can I show a pattern on the items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"2,2,2,12");
	var_Items->PutBackgroundExt(_bstr_t("root[pattern=0x006,patterncolor=RGB(128,128,128),frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><of") +
"f -2> clipboard </off></font></fgcolor>`,align=0x21])");
spRibbon1->Refresh();

86
How can I show a thick frame arround the items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"2,2,2,12");
	var_Items->PutBackgroundExt(_bstr_t("root[frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor>`,ali") +
"gn=0x21])");
spRibbon1->Refresh();

85
How can I add some additional icons on the background

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"0,0,0,16");
	var_Items->PutBackgroundExt(L"root[text=`<img>2</img><font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor><img>2</img>`,align=0x21]");
spRibbon1->Refresh();

84
How can I add some additional text on the background

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"0,0,0,8");
	var_Items->PutBackgroundExt(L"root[text=`<font ;6><fgcolor 808080>clipboard`,align=0x21]");
spRibbon1->Refresh();

83
How can I disable incremental searching

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutPopupIncrementalSearch(EXRIBBONLib::exNoIncrementalSearch);
spRibbon1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

82
How can I assign a tooltip to an item (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"ToolTip[id=10][ttp=This is a bit of text that should be shown when cursor hovers the item]");

81
How can I assign a tooltip to an item (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->Add(L"ToolTip",vtMissing,vtMissing)->PutTooltip(L"This is a bit of text that should be shown when cursor hovers the item");
spRibbon1->Refresh();

80
How can I assign a spin field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Spin",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditSpin);
		var_Item->PutEditWidth(16);
		var_Item->PutEditValue(long(15));
		var_Item->PutEditBorder(EXRIBBONLib::exEditBorderNone);
		var_Item->PutEditOption(EXRIBBONLib::exEditMaxValue,long(1000));
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Edit-Spin",vtMissing,vtMissing);
		var_Item1->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditText));
		var_Item1->PutEditWidth(-128);
		var_Item1->PutEditValue(long(15));
		var_Item1->PutEditOption(EXRIBBONLib::exEditMaxValue,long(1000));
	EXRIBBONLib::IItemPtr var_Item2 = var_Items->Add(L"Splider-Spin",vtMissing,vtMissing);
		var_Item2->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditSpin | EXRIBBONLib::exItemEditSlider));
		var_Item2->PutEditWidth(-128);
		var_Item2->PutEditValue(long(25));
		var_Item2->PutEditBorder(EXRIBBONLib::exEditBorderNone);
spRibbon1->Refresh();

79
How can I assign a spin field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("Spin[id=10][edittype=0x0200][edit=15][border=0][max=1000][editwidth=16],Edit-Spin[id=20][edittype=0x0201][edit=15][max=1000][ed") +
"itwidth=-128],Splider-Spin[id=30][edittype=0x0203][edit=25][border=0][editwidth=-128]");

78
How can I add a vertical slider (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Vertical[id=10][edittype=0x0403][edit=25][border=0][height=128]");

77
How can I add a vertical slider (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Vertical",vtMissing,vtMissing);
		var_Item->PutItemHeight(128);
		var_Item->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditVertical | EXRIBBONLib::exItemEditSlider));
		var_Item->PutEditBorder(EXRIBBONLib::exEditBorderNone);
		var_Item->PutEditWidth(32);
		var_Item->PutEditValue(long(25));
spRibbon1->Refresh();

76
How can I disable an editor (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Disabled[id=10][dis][edittype=0x01][edit=text-box][editwidth=-128]");

75
How can I disable an editor (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Disabled",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditText);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue("text-box");
		var_Item->PutEnabled(VARIANT_FALSE);
spRibbon1->Refresh();

74
How can I lock an editor (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Locked[id=10][edittype=0x0101][edit=disabled text-box][editwidth=-128]");

73
How can I lock an editor (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Locked",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::AllowEditEnum(EXRIBBONLib::exItemEditReadOnly | EXRIBBONLib::exItemEditText));
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue("disabled text-box");
spRibbon1->Refresh();

72
How can I assign a font field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Font",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditFont);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue("Tahoma");
spRibbon1->Refresh();

71
How can I assign a font field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Font[id=10][edittype=0x07][edit=Tahoma][editwidth=-128]");

70
How can I assign a color field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Color",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditColor);
		var_Item->PutEditBorder(EXRIBBONLib::exEditBorderNone);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(255));
spRibbon1->Refresh();

69
How can I assign a color field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Color[id=10][edittype=0x06][edit=#FF0000][border=0][editwidth=-128]");

68
How can I assign a scrollbar field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"ScrollBar",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditScrollBar);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue("25");
spRibbon1->Refresh();

67
How can I assign a scrollbar field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"ScrollBar[id=10][edittype=0x05][edit=25][editwidth=-128]");

66
Is it possible to change the tooltip beging shown when I change the slider/scroll/progress value

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditProgress);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
		var_Item->PutEditOption(EXRIBBONLib::exEditChangeToolTip,"`Current value is: ` + value");
spRibbon1->Refresh();

65
How can I hide the tooltip beging shown when I change the slider/scroll/progress value

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditProgress);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
		var_Item->PutEditOption(EXRIBBONLib::exEditChangeToolTip,"");
spRibbon1->Refresh();

64
How can I assign a progress field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditProgress);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
spRibbon1->Refresh();

63
How can I assign a progress field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Progress[id=10][edittype=0x04][edit=25][editwidth=-128]");

62
How can I assign a slider field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Slider",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditValue(long(25));
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Slider",vtMissing,vtMissing);
		var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditSlider);
		var_Item1->PutEditBorder(EXRIBBONLib::exEditBorderNone);
		var_Item1->PutEditWidth(-128);
		var_Item1->PutEditOption(EXRIBBONLib::exEditMinValue,long(50));
		var_Item1->PutEditOption(EXRIBBONLib::exEditMaxValue,long(450));
		var_Item1->PutEditOption(EXRIBBONLib::exEditTickStyle,long(2));
		var_Item1->PutEditOption(EXRIBBONLib::exEditTickFrequency,long(50));
		var_Item1->PutEditOption(EXRIBBONLib::exEditTickLabel,_bstr_t("value = vmin ? '<br><font ;6><b>'+value : ( value = vmax ? '<br><font ;6><b>'+value : ( value = 200 ? '<br><font ;6><b><fgcolor") +
" FF0000>'+value : '' ) )");
		var_Item1->PutEditValue(long(345));
spRibbon1->Refresh();

61
How can I assign a slider field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("Slider[id=10][edittype=0x03][edit=25][editwidth=-128],Slider[id=20][edittype=0x03][edit=345][border=0][min=50][max=450][tick=2]") +
"[freq=50][ticklabel=value = vmin ? '<br><font ;6><b>'+value : ( value = vmax ? '<br><font ;6><b>'+value : ( value = 200 ? '<br><" +
"font ;6><b><fgcolor FF0000>'+value : '' ) )][editwidth=-128]");

60
How can I assign a mask (time) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Time",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"99:00:00;;0;overtype,warning=Invalid character");
		var_Item->PutEditValue("123456");
spRibbon1->Refresh();

59
How can I assign a mask (time) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Time[id=10][edittype=0x02][edit=12:34:56][mask=99:00:00;;0;overtype,warning=Invalid character][editwidth=-128]");

58
How can I assign a mask (license key) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"License Key",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"AAAA-AAAA-AAAA-AAAA");
		var_Item->PutEditValue("1234");
spRibbon1->Refresh();

57
How can I assign a mask (license key) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"License Key[id=10][edittype=0x02][edit=1234-____-____-____][mask=AAAA-AAAA-AAAA-AAAA][editwidth=-128]");

56
How can I assign a mask (IP address) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"IP Address",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"{0,255}.{0,255}.{0,255}.{0,255}");
		var_Item->PutEditValue("1.2.3.4");
spRibbon1->Refresh();

55
How can I assign a mask (IP address) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"IP Address[id=10][edittype=0x02][edit=1.2.3.4][mask={0,255}.{0,255}.{0,255}.{0,255}][editwidth=-128]");

54
How can I assign a mask (phone) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Phone",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"!(9999) 000 000;;;empty,select=4,overtype,beep");
		var_Item->PutEditValue("0771638317");
spRibbon1->Refresh();

53
How can I assign a mask (phone) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Phone[id=10][edittype=0x02][edit=(0771) 638 317][mask=!(9999) 000 000;;;empty,select=4,overtype,beep][editwidth=-128]");

52
How can I assign a mask (date) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L"`Date: `{1,12}/{1,31}/{1950,2050};;;select=1");
		var_Item->PutEditValue(COleDateTime(2015,2,15,0,00,00).operator DATE());
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Date",vtMissing,vtMissing);
		var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item1->PutEditWidth(-128);
		var_Item1->PutEditMask(L"!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,overtype");
		var_Item1->PutEditValue(COleDateTime(2015,2,15,0,00,00).operator DATE());
spRibbon1->Refresh();

51
How can I assign a mask (date) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("[id=10][edittype=0x02][edit=Date: 2/15/2015][mask=`Date: `{1,12}/{1,31}/{1950,2050};;;select=1][editwidth=-128],Date[id=20][edi") +
"ttype=0x02][edit=02/15/2015][mask=!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,ov" +
"ertype][editwidth=-128]");

50
How can I assign a mask (integer) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Integer",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L";;;float,grouping=,digits=0");
		var_Item->PutEditValue(long(1000));
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"Integer-Grouping",vtMissing,vtMissing);
		var_Item1->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item1->PutEditWidth(-128);
		var_Item1->PutEditMask(L";;;float,decimal=,digits=0,select=1");
		var_Item1->PutEditValue(long(1000));
	EXRIBBONLib::IItemPtr var_Item2 = var_Items->Add(L"Integer-In-Range",vtMissing,vtMissing);
		var_Item2->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item2->PutEditWidth(-128);
		var_Item2->PutEditMask(L"{0,2050}");
		var_Item2->PutEditValue(long(1000));
spRibbon1->Refresh();

49
How can I assign a mask (integer) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("Integer[id=10][edittype=0x02][edit=1000][mask=;;;float,grouping=,digits=0][editwidth=-128],Integer-Grouping[id=20][edittype=0x0") +
"2][edit=1,000][mask=;;;float,decimal=,digits=0,select=1][editwidth=-128],Integer-In-Range[id=30][edittype=0x02][edit=1000][mask=" +
"{0,2050}][editwidth=-128]");

48
How can I assign a mask field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Mask",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditMask);
		var_Item->PutEditWidth(-128);
		var_Item->PutEditMask(L";;;float,select=1");
		var_Item->PutEditValue(long(1000));
spRibbon1->Refresh();

47
How can I assign a mask field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Text-Box[id=10][edittype=0x02][edit=1,000][mask=;;;float,select=1][editwidth=-128]");

46
How can I assign an edit / text-box to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"Mask",vtMissing,vtMissing);
		var_Item->PutAllowEdit(EXRIBBONLib::exItemEditText);
		var_Item->PutEditValue("this is a text");
		var_Item->PutEditWidth(-128);
spRibbon1->Refresh();

45
How can I assign an edit / text-box to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeRibbon1(LPDISPATCH   Itm)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'
		#import <ExRibbon.dll>
		using namespace EXRIBBONLib;
	*/
	EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
	OutputDebugStringW( L"Itm" );
}

EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"Text-Box[edit=this is a text][editwidth=-128]");

44
How can I display a tab into the ribbon (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(240,240,240));
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutToString(_bstr_t("[id=0][group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03](),[id=-99][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-") +
"100]))");
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->GetItem(long(-10))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXRIBBONLib::IItemPtr var_Item = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item->PutToString(_bstr_t("[typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][") +
"group=0x03][tab=-100][pad=2,0,2,0][popupalign=0x01]([id=0][group=0x03]([]))");
			var_Item->PutCaption(L"Page<off -5><font ;5><b>1</b></font></off>");
			EXRIBBONLib::IItemsPtr var_Items2 = var_Item->GetItems()->GetItem(long(0))->GetItems();
				EXRIBBONLib::IItemPtr var_Item1 = var_Items2->Add(L"add here fields for page 1",vtMissing,vtMissing);
					var_Item1->PutID(-1000);
					var_Item1->PutEnabled(VARIANT_FALSE);
					var_Item1->PutBackColor(RGB(255,0,0));
		EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_Item2->PutToString(_bstr_t("[typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][") +
"group=0x03][tab=-100][pad=2,0,2,0][popupalign=0x01]([id=0][group=0x03]([]))");
			var_Item2->PutCaption(L"Page<off -5><font ;5><b>2</b></font></off>");
			EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems()->GetItem(long(0))->GetItems();
				EXRIBBONLib::IItemPtr var_Item3 = var_Items3->Add(L"add here fields for page 2",vtMissing,vtMissing);
					var_Item3->PutID(-1001);
					var_Item3->PutEnabled(VARIANT_FALSE);
					var_Item3->PutBackColor(RGB(0,255,0));
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spRibbon1->Refresh();

43
How can I add check-buttons to items, without showing the check-box (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Check 1",vtMissing,vtMissing);
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutChecked(VARIANT_TRUE);
				var_Item1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Check 2",vtMissing,vtMissing);
				var_Item2->PutCheck(VARIANT_TRUE);
				var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Check 3",vtMissing,vtMissing);
				var_Item3->PutCheck(VARIANT_TRUE);
				var_Item3->PutChecked(VARIANT_TRUE);
				var_Item3->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
spRibbon1->Refresh();

42
How can I add check-buttons to items, without showing the check-box (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"[group=0x3](Check 1[chk=1][show=1],Check 2[chk=0][show=1],Check 3[chk=1][show=1])");

41
How can I add radio buttons to items, without showing the radio-buttons (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Radio 1",vtMissing,long(1000));
				var_Item1->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
				var_Item1->PutRadio(VARIANT_TRUE);
				var_Item1->PutRadioGroup(100);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Radio 2",vtMissing,long(1001));
				var_Item2->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
				var_Item2->PutRadio(VARIANT_TRUE);
				var_Item2->PutRadioGroup(100);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Radio 2",vtMissing,long(1003));
				var_Item3->PutShowCheckedAsSelected(EXRIBBONLib::exDisplayItemHighlight);
				var_Item3->PutRadio(VARIANT_TRUE);
				var_Item3->PutRadioGroup(100);
			var_Items1->GetItem(long(1000))->PutChecked(VARIANT_TRUE);
spRibbon1->Refresh();

40
How can I add radio buttons to items, without showing the radio-buttons (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(_bstr_t("[group=0x3](Radio 1[rad=1][show=1][grp=100][id=1000],Radio 2[rad=0][show=1][grp=100][id=1001],Radio 2[rad=0][show=1][grp=100][i") +
"d=1002])");

39
How can I add check-buttons to items (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Check 1",vtMissing,vtMissing);
				var_Item1->PutCheck(VARIANT_TRUE);
				var_Item1->PutChecked(VARIANT_TRUE);
			var_Items1->Add(L"Check 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spRibbon1->Refresh();

38
How can I add check-buttons to items (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"[group=0x3](Check 1[chk=1],Check 2[chk=0])");

37
How can I add radio buttons to items (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::exGroupPopup);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Radio 1",vtMissing,long(1000));
				var_Item1->PutRadio(VARIANT_TRUE);
				var_Item1->PutRadioGroup(100);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Radio 2",vtMissing,long(1001));
				var_Item2->PutRadio(VARIANT_TRUE);
				var_Item2->PutRadioGroup(100);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Radio 2",vtMissing,long(1003));
				var_Item3->PutRadio(VARIANT_TRUE);
				var_Item3->PutRadioGroup(100);
			var_Items1->GetItem(long(1000))->PutChecked(VARIANT_TRUE);
spRibbon1->Refresh();

36
How can I add radio buttons to items (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutToString(L"[group=0x1](Radio 1[rad=1][grp=100][id=1000],Radio 2[rad=0][grp=100][id=1001],Radio 2[rad=0][grp=100][id=1002])");

35
How can I change the selection/highlighting color

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutSelBackColor(RGB(0,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(128,0,0));
spRibbon1->PutBackground(EXRIBBONLib::exMenuHotForeColor,RGB(255,255,255));
spRibbon1->PutToString(L"[group=3](Item 1[chk],Item 2[chk])");

34
How can I prevent showing/hide the border on the selected/highlighted item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,spRibbon1->GetSelBackColor());
spRibbon1->PutToString(L"Item 1,Item 2");

33
How can I display a tab into the ribbon (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutBackground(EXRIBBONLib::exMenuSelBorderColor,RGB(240,240,240));
spRibbon1->PutToString(_bstr_t("[group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03]([id=50][pad=8,0,0,0],Page<off -5><font ;5><b>1</b></font></off>[id=60][ty") +
"p=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][grou" +
"p=0x03][tab=-100][pad=2,0,2,0][popupalign=1]([group=0x03]([id=80],add here fields for page 1[id=-1000][dis])),Page<off -5><font " +
";5><b>2</b></font></off>[id=100][typ=2][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(2" +
"40,240,240)][height=16][group=0x03][tab=-100][pad=2,0,2,0][popupalign=1]([group=0x03]([id=120],add here fields for page 2[id=-10" +
"01][dis])),[id=140][pad=8,0,0,0]),[id=-99][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-100]))");
EXRIBBONLib::IItemPtr var_Item = spRibbon1->GetItems()->GetItem(long(-1000));
	var_Item->PutBackColor(RGB(255,0,0));
EXRIBBONLib::IItemPtr var_Item1 = spRibbon1->GetItems()->GetItem(long(-1001));
	var_Item1->PutBackColor(RGB(0,255,0));

32
How do I prevent highlighting the item (method 2.b)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"No highlight",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

31
How do I prevent highlighting the item (method 2.a)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"No highlight",long(2),vtMissing);
		var_Item->GetItems()->Add(L"",vtMissing,vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		var_Item->PutShowPopupArrow(VARIANT_FALSE);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

30
How do I prevent highlighting the item (method 1.b)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"No highlight[dis],Item 2,Item 3");
spRibbon1->Refresh();

29
How do I prevent highlighting the item (method 1.a)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"No highlight[group=0x3][arrow=0]([]),Item 2,Item 3");
spRibbon1->Refresh();

28
How can I can I assign pictures or images for the item (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spRibbon1->PutHTMLPicture(L"pic2","c:\\exontrol\\images\\auction.gif");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutHTMLImage(L"pic1");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutHTMLImage(L"pic2");
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>pic1</img>",vtMissing,vtMissing);
	var_Items->Add(L"Item <img>pic2</img>",vtMissing,vtMissing);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"<img>pic1</img> Item <img>pic2</img>",vtMissing,vtMissing);
spRibbon1->Refresh();

27
How can I can I assign pictures or images for the item (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spRibbon1->PutHTMLPicture(L"pic2","c:\\exontrol\\images\\auction.gif");
spRibbon1->PutToString(L"Item[himg=pic1],Item[himg=pic2],[sep],Item <img>pic1</img>,Item <img>pic2</img>,[sep],<img>pic1</img> Item <img>pic2</img>");

26
How can I can I assign icons for the item (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutImage(1);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutImage(2);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>1</img>",vtMissing,vtMissing);
	var_Items->Add(L"Item <img>2</img>",vtMissing,vtMissing);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>1</img>",vtMissing,vtMissing)->PutImage(1);
spRibbon1->Refresh();

25
How can I can I assign icons for the item (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spRibbon1->GetItems()->PutToString(L"Item[img=1],Item[img=2],[sep],Item <img>1</img>,Item <img>2</img>,[sep],Item <img>1</img>[img=1]");
spRibbon1->Refresh();

24
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"2,2,2,2");
	var_Items->PutBackColor(0x1000000);
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

23
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->GetItems()->PutToString(L"[itemsbg=0x1000000][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

22
How can I change the background color for a collection of items/group (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->PutPadding(L"2,2,2,2");
	var_Items->PutBackColor(RGB(255,0,0));
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

21
How can I change the background color for a collection of items/group (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"[itemsbg=RGB(255,0,0)][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

20
How can I change the visual appearance / background color (EBN) for a specified item (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutBackColor(0x1000000);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

19
How can I change the visual appearance / background color (EBN) for a specified item (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->GetItems()->PutToString(L"Item 1,Item 2[bg=0x1000000],Item 3");
spRibbon1->Refresh();

18
How can I change the background color for a specified item (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutBackColor(RGB(255,0,0));
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

17
How can I change the background color for a specified item (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"Item 1,Item 2[bg=RGB(255,0,0)],Item 3");
spRibbon1->Refresh();

16
How can I change the visual appearance (EBN) of the floating popups (method 2, applies to single popup)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->PutPopupAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

15
How can I change the visual appearance (EBN) of the floating popups (method 1, applies to all)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spRibbon1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spRibbon1->PutPopupAppearance(EXRIBBONLib::AppearanceEnum(0x1000000));
spRibbon1->Refresh();

14
How can I change the visual appearance of the floating popups (method 2, applies to single popup)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

13
How can I change the visual appearance of the floating popups (method 1, applies to all)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spRibbon1->PutPopupAppearance(EXRIBBONLib::ShadowBorder);
spRibbon1->Refresh();

12
How do I add a popup or a sub-menu so it show when cursor hovers it (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

11
How do I add a popup or a sub-menu so it show when cursor hovers it (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

10
How can I arrange the items by grouping (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			EXRIBBONLib::IItemPtr var_Item1 = var_Items1->Add(L"Horizontal",long(2),vtMissing);
				var_Item1->PutGroupPopup(EXRIBBONLib::exGroupPopup);
				EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
					var_Items2->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items2->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items2->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutCaptionWidth(16);
			EXRIBBONLib::IItemPtr var_Item2 = var_Items1->Add(L"Vertical",long(2),vtMissing);
				var_Item2->PutAlignment(EXRIBBONLib::exCenter);
				var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exGroupPopupVertical | EXRIBBONLib::exGroupPopup));
				EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems();
					var_Items3->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items3->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items3->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutCaptionWidth(16);
			EXRIBBONLib::IItemPtr var_Item3 = var_Items1->Add(L"Popup",long(2),vtMissing);
				EXRIBBONLib::IItemsPtr var_Items4 = var_Item3->GetItems();
					var_Items4->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items4->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items4->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
spRibbon1->Refresh();

9
How can I arrange the items by grouping (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(_bstr_t("[group=0x03](Horizontal[group=0x01](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Vertical[group=0x0") +
"101][align=1](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Popup(Sub-Item <b>A</b>,Sub-Item <b>B</b>" +
",Sub-Item <b>C</b>),[captionwidth=160])");
spRibbon1->Refresh();

8
How can I arrange some items vertically, and some horizontally (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"1",vtMissing,vtMissing);
			var_Items1->Add(L"2",vtMissing,vtMissing);
			var_Items1->Add(L"3",vtMissing,vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
	EXRIBBONLib::IItemPtr var_Item1 = var_Items->Add(L"",long(2),vtMissing);
		EXRIBBONLib::IItemsPtr var_Items2 = var_Item1->GetItems();
			var_Items2->Add(L"4",vtMissing,vtMissing);
			var_Items2->Add(L"5",vtMissing,vtMissing);
			var_Items2->Add(L"6",vtMissing,vtMissing);
		var_Item1->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
	EXRIBBONLib::IItemPtr var_Item2 = var_Items->Add(L"",long(2),vtMissing);
		EXRIBBONLib::IItemsPtr var_Items3 = var_Item2->GetItems();
			var_Items3->Add(L"7",vtMissing,vtMissing);
			var_Items3->Add(L"8",vtMissing,vtMissing);
			var_Items3->Add(L"9",vtMissing,vtMissing);
		var_Item2->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
spRibbon1->Refresh();

7
How can I arrange some items vertically, and some horizontally (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"[group=3](1,2,3),[group=3](4,5,6),[group=3](7,8,9)");
spRibbon1->Refresh();

6
How can I assign multiple-lines to an item (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>1");
			var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>2");
			var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>3");
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
spRibbon1->Refresh();

5
How can I assign multiple-lines to an item (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"[group=3](Item <br><c><b>1,Item <br><c><b>2,Item <br><c><b>3)");
spRibbon1->Refresh();

4
How can I add new items arranged horizontally to the ribbon control (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	EXRIBBONLib::IItemPtr var_Item = var_Items->Add(L"",long(2),vtMissing);
		EXRIBBONLib::IItemsPtr var_Items1 = var_Item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
		var_Item->PutGroupPopup(EXRIBBONLib::GroupPopupEnum(EXRIBBONLib::exNoGroupPopupFrame | EXRIBBONLib::exGroupPopup));
spRibbon1->Refresh();

3
How can I add new items arranged horizontally to the ribbon control (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"[group=3](Item 1,Item 2,Item 3)");
spRibbon1->Refresh();

2
How can I add new items to the ribbon control (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
EXRIBBONLib::IItemsPtr var_Items = spRibbon1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spRibbon1->Refresh();

1
How can I add new items to the ribbon control (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXRIBBONLib' for the library: 'ExRibbon 1.0 Control Library'

	#import <ExRibbon.dll>
	using namespace EXRIBBONLib;
*/
EXRIBBONLib::IRibbonPtr spRibbon1 = GetDlgItem(IDC_RIBBON1)->GetControlUnknown();
spRibbon1->GetItems()->PutToString(L"Item 1,Item 2,Item 3");
spRibbon1->Refresh();